#include"comm.h"
#include<string.h>
#include<sys/wait.h>
#include<unistd.h>
#include<stdlib.h>
int main()
{
  umask(0);//掩码设置为0,我们设置的权限就是初始权限
  if(mkfifo(MY_FIFO,0666)<0)
  {
    perror("mkfifo"); return 1;
  }
  int fd=open(MY_FIFO,O_RDONLY);

  if(fd<0)
  {
    perror("open");return 2;
  }

  while(1)
  {
    char buffer[64]={0};
    sleep(10);
    ssize_t s=read(fd,buffer,sizeof(buffer)-1);//-1去掉\n
    if(s>0)
    {
      buffer[s]=0;
      if(strcmp(buffer,"show")==0)
      {
        if(fork()==0)
        {
          execl("usr/bin/ls","ls","-l",NULL);
          exit(1);
        }
        waitpid(-1,NULL,0);
      }
      else{
        printf("client#%s\n",buffer);
      }
    }
    else if(s==0)
    {
      printf("client quit ...\n");
      break;
    }
    else
    {
      perror("read");
      break;
    }
  } 
  close(fd);
  return 0;
}
